Integrated circuit (IC) devices can include a number of sections formed in one or more substrates that are electrically interconnected to one another. In order to provide increased operating speeds, it is desirable to provide as fast a signal transmission speed as possible for signal paths that interconnect different sections. For some integrated circuit devices, critical timing paths can be identified prior to the fabrication of the device, and thus optimized (e.g., utilize large signal driving devices, minimize routing lengths, or increase signal line cross sectional size to reduce resistance).
However for other integrated circuit devices, signal paths can be configured after the device has been manufactured by connecting different signal paths with switches. In such cases, complete signal routing paths are unknown at the time of fabrication and thus cannot be optimized in the manner described above. Further, because the configuration of signal paths can depend upon a series of switches, signal switch construction can limit overall performance of such devices. For example, programmable logic devices (PLDs) can often include signal paths configurable by enabling (placing into a relatively low impedance state) or disabling (placing into a relatively high impedance state) various switching devices. Programmable logic devices can include, as but a few examples, complex PLDs (CPLDs) and programmable gate arrays (PGAs) including field PGAs (FPGAs).
Programmable logic devices can include various sections that provide programmable functions. Such sections can be interconnected to one another by signal lines disposed in different directions. In order to provide flexibility in routing paths it is desirable to provide switching circuits that can be programmed to connect one signal path disposed in one direction, to any of various signal paths disposed in the same or a different direction.